When a database management system (DBMS) receives a statement representing a request to perform a database operation, the DBMS may generate an execution plan. An execution plan is important—it defines the steps and operations performed by a DBMS to carry out a request. The statement used to request database operations may be in the form of a database command that conforms to a database language, such as Structured Query Language (SQL).
DBMSs generate execution plans that are optimized for efficiency. When determining what steps to include in an execution plan, and the order in which the steps are performed, a DBMS accounts for many factors that affect efficiency. For example, a query may request rows that contain a first value in a first column and a second value in a second column. If the first column is indexed, then a DBMS may generate an execution plan that uses the index to access data more efficiently. Such an execution plan may include the following steps, executed in the order indicated below.                1. Access the index and generate row ids of rows that contain the first value in the first column.        2. Obtain the set of rows identified by the row ids.        3. Filter the set of rows for the second value in the second column.        